IP (Internet Protocol,網際網路協議),位於網路層的協議。協議內容定義了資料的封裝結構及定址方式,用於確定目的地位址,讓封包在不同網路之間路由和轉發。
IP 的閱讀重點可以簡單歸納為以下四個部分:
IP 協議使用IP 位址來識別網路上的每個裝置,每個IP 位址在網路上都是唯一的。
目前有兩個主要版本的IP 協議,即IPv4 和IPv6。
IPv4 位址由32 位元二進制數字組成,但二進制的原始字串對使用者來說不易辨識,因此通常會將原始字串進行轉換。
表示方法為先將原始字串以每八個位元為一組,再以「.」區隔,最後把八位元的二進制數字轉換為十進制數字,每個數字範圍在0~255之間,最終IP 位址就如192.168.1.1
一般易讀。
但IPv4 的位址空間只有2的32次方個(約43億)位址,還有一些位址是為特殊用途所保留的,如專用網路和多播網路,因此有IP 位址用盡的問題,進而催生了IPv6。
IPv6 在二進制下為128 位元,以八組十六進制數字表示,每組數字由四個十六進制數字組成,並使用冒號連接,如2001:0db8:85a3:0000:0000:8a2e:0370:7334
。
IP 位址通常分為兩個部分,即網路部分和主機部分。
這種地址結構有助於路由器根據接收端IP 位址來確定資料傳輸的路徑。
至於如何區分網路部分和主機部分,早期是使用分類網路區分,現在則是使用子網路遮罩來區分,。
當透過IP 協議傳輸資料時,接收端可以是一個或複數個,根據接收端的數量可以分為單播、廣播和多播。
單播
單播(Unicast)是將資料傳送給單一位址的傳輸方式,採用單播方式傳輸資料的IP 位址稱為單播位址。
在TCP/IP 架構中,大部分的裝置都是採用單播傳輸。
廣播
廣播(Broadcast)是將一份資料傳送給同一個網路上的所有主機的傳輸方式,只要將接收端IP 位址指定為廣播位址就可以向同一個網路上的所有主機傳輸資料。
廣播IP 位址是由32個1組成,以十進制表示就是255.255.255.255
。
多播
多播(Multicast)是將一份資料傳送給一組特定主機的傳輸方式,例如運行著同一個應用程式的多個主機,要進行多播傳輸一樣是將接收端IP 位址指定為多播位址即可。
多播IP 位址有一個範圍,介於224.0.0.0
至239.255.255.255
之間,在這範圍內有些事已經決定好得多播位址,例如224.0.0.2
代表同一個網路上的所有路由器。
與其它協議相同,使用IP 協議進行資料傳輸必須在資料加上IP 表頭,形成一組IP 封包,其內容包含發送端和傳送端的IP 位址、生存時間(TTL)、應用層協議(如HTTP)及傳輸層協議(如TCP) 以及其他控制訊息。
存活時間是一個整數,表示這個IP 封包能夠通過多少個路由器,範圍在0~255之間;當一個路由器處理一個封包十,它會將TTL 值減1 再將其轉發,若TTL 值在路由過程中變為0,則會直接丟棄該IP 封包,並向發送端發送一條ICMP 錯誤訊息,通知發送端封包已達其存活時間。
其設計原因有以下三點:
IP 協議的內容實在是太多了,寫起來已經開始力不從心,決定切成兩篇文講解,這一篇先講IP 位址跟IP 封包的內容,下一篇再講定址和路由。